<?xml version="1.0" encoding="utf-8" ?> 
<Feature id="MediaCacheAdmin" name="Media Cache Administration Configuration">

  <ConfigurationClasses>
    <Class name="appObjs-MediaUploadMgr" type="MediaCacheAdmin.MediaUploadManager,ScsCore" />
  </ConfigurationClasses>

  <ClassFactory id="ImageCacheTypes">
		<Class name="FileSysImageCache" 
			type="MediaCacheAdmin.FileSysImageCacheUpdate,ScsCore" />
			
		<Class name="DataAccessImageCache" 
			type="MediaCacheAdmin.DataAccessImageCacheUpdate,ScsCore" />
	</ClassFactory>

	<BusinessRules>
		<BusinessRule name="updateCompanyImageCacheLimits" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>	  
		<BusinessRule name="addImage" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="addImages" security="disabled">
		  <LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="removeImage" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="removeImages" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="moveImagesToDirectory" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="createImageCacheScalings" security="disabled">
		  <LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="updateImageCacheDetails" security="disabled">
		  <LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="updateCacheStores" security="disabled">
		  <LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="updateCompanyImageCacheLibrary" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="createNewCompanyImageCacheLibrary" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		
		<BusinessRule name="executePostCompanySetup" postExtends="createCompany" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="executePostCompanySetup" postExtends="newCompanySignUp" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		
		<BusinessRule name="updateImageCacheScaling" security="disabled">
			<LocalClass name="MediaCacheAdmin.MediaCacheBusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="saveImageCacheDetails" security="disabled">
			<LocalClass name="MediaCacheAdmin.MediaCacheBusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="addScalingTo" security="disabled">
			<LocalClass name="MediaCacheAdmin.MediaCacheBusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="addMediaCache" security="disabled">
			<LocalClass name="MediaCacheAdmin.MediaCacheBusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="updateMediaCache" security="disabled">
			<LocalClass name="MediaCacheAdmin.MediaCacheBusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="deleteMediaCache" security="disabled">
			<LocalClass name="MediaCacheAdmin.MediaCacheBusinessRules,ScsCore" />
		</BusinessRule>
	</BusinessRules>
	
	<BusinessRules>
		<BusinessRule name="updateMediaDirectory" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="deleteMediaDirectory" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
	</BusinessRules>

	<BusinessRules>
		<BusinessRule name="restoreCompanyMediaCaches" security="disabled">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="backupCompanyMediaCaches" security="disabled" >
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>

		<BusinessRule name="postExtendMediaCacheexecuteCompanyBackup" security="disabled" postExtends="executeCompanyBackup">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="postExtendMediaCacheexecuteCompanyRestore" security="disabled" postExtends="executeCompanyRestoreFromZip">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
		<BusinessRule name="getMediaCacheBackupRestoreTemplate" security="disabled" postExtends="getBackupRestoreDeploymentOtionDisplay">
			<LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
		</BusinessRule>
	</BusinessRules>

	<BusinessObjects>
    <BusinessObject type="EmailUploadOptions" key="sessionId">
      <Field name="sessionId" type="Guid" />
      <Field name="uploadUser" type="User" />
      <Field name="uploadDirectory" type="String" />
      <Field name="replyWithStatus" type="Boolean" />
      <Field name="recievingEmailAddr" type="String" />
      <Field name="uploadRecieved" type="Boolean" />
      <Field name="requestedDate" type="Date" />
      <Field name="uploadProcessedDate" type="Date" />
    </BusinessObject>
    
    <BusinessObject injects="CompanyBackup">
		<Field name="includeImageCache" type="Boolean" />
    </BusinessObject>
  </BusinessObjects>

  <BusinessRules>
    <BusinessRule name="registerEmailUploadRequest" security="disabled">
      <LocalClass name="MediaCacheAdmin.BusinessRules,ScsCore" />
    </BusinessRule>

    <BusinessRule name="processEmailRequest" security="disabled">
      <LocalClass name="MediaCacheAdmin.MediaUploadBizRules,ScsCore" />
    </BusinessRule>
  </BusinessRules>

  <DarExtensions from="MediaCacheAdmin" for="UserManagement" />

</Feature>